Threaded algebraic space-time (TAST) precoder architecture consists of three main parts: a precoder, TAST and a beamformer. The precoder provides constellation rotation. TAST is a full diversity full rate (FDFR) diagonal space-time coding scheme. There also exists a reduced rate version of TAST. Beamforming is only for closed loop and for NT>NR, where NT is the number of transmitter (Tx) antennas and NR is the number of receiver (Rx) antennas. The beamformer uses singular value decomposition (SVD) and assumes the whole channel state information (CSI), (quantized), is available in the transmitter.
There are four transmission modes of operation in the TAST precoder architecture: an open loop (OL) mode, an open loop with channel rank feedback, (i.e., rank adaptation), (OL-R) mode, a closed loop (CL) mode and a closed loop with channel rank feedback (CL-R) mode.
A TAST precoder can be applied in either space-time or space-frequency. A value for the parameter M must be determined, where M is equal to the average number of resolvable independent Rayleigh fading multipaths. For a flat fading channel, M=1. M should be chosen such that K is an integer multiple of M, where K is the total number of subcarriers. However, M also has a big impact on the complexity of the receiver. Therefore, for an extremely frequency selective channel, M can be limited to a predetermined maximum value if necessary.
The entire frequency band is divided into M sub-bands. Inside each sub-band, the assumption of flat fading is assumed. In each subband, there are K/M subcarriers. A subband is a frequency band where the assumption of flat fading is assumed.
Next, one of the four transmission modes defined earlier should be selected based on the feedback information available and whether NT>NR is true or not, as depicted below:                1) OL transmission mode:L=min(NT,NR), Nv=NT;  Equation (1)        2) OL-R transmission mode:L=rank(H), Nv=NT;  Equation (2)        3) CL transmission mode:NV=L=min(NT,NR); and  Equation (3)        4) CL-R transmission mode:Nv=L=rank(H);  Equation (4)where H is the MIMO channel matrix of size NR×NT, L is the total number of threads, and each thread uses NV consecutive frequencies from each subband, where NV is the number of virtual Tx antennas. The size, (i.e., the number of rows and columns), of the space-frequency matrix, S, is NV×SF, where SF=NV×M. The total number of elements in S constitutes one TAST codeword. The total number of TAST codewords per orthogonal frequency division multiplexing (OFDM) symbol is equal to K/SF, where SF is a spreading factor (SF) of size NV×M. An SF can be over space, time or frequency dimensions, or over joint-time or joint-space-frequency planes.        
For each TAST codeword, a group of L×SF quadrature amplitude modulation (QAM) symbols is divided into L threads (i.e., groups) where each group has SF elements.
Input QAM symbols for one TAST codeword are shown below:u1=(u11,u12,. . . u1SF),uL=(uL1,uL2, . . . uLSF)  Equation (5)where u represents a complex Tx symbols vector before precoding of size SF×1.
The precoder matrix is a Vandermonde (VMD) matrix of size SF×SF, where:C=VMD(θ1, . . . ,θSF)  Equation (6)where C is a Vandermonde constellation rotation matrix of size SF×SF, and θ1 , . . . ,θSF are the roots of the polynomial XSF−i for SF=2p, p≧1, i=√{square root over (−1)}.